Reasoning About Partial Functions in the Formal Development of Programs
نویسنده
چکیده
Partial functions and operators are used extensively in the formal development of programs and thus development methods have to clarify how to reason about them. There are a number of approaches which cover up the fact that “First Order Predicate Calculus” does not handle undefined logical values. There is also at least one specific “Logic of Partial Functions” (LPF) which tackles the issue at its root by using a weaker logic. Recently, we have come to realise that LPF fits a particular way of developing programs. This paper explains why LPF is a suitable logic for “posit and prove” development and explores some problems that other approaches present.
منابع مشابه
Software with Partial Functions: Automating Correctness Proofs via Nonstrict Explicit Domains∗
As our society becomes technologically more complex, computers are being used in greater and greater numbers of high consequence systems. Giving a machine control over the lives of humans can be disturbing, especially if the software that is run on such a machine has bugs. Formal reasoning is one of the most powerful techniques available to demonstrate the correctness of a piece of software. Wh...
متن کاملA Formal Approach for Reasoning about theE ectiveness of Partial Evaluation ?
The motivation of partial evaluation is to improve eeciency while preserving program meaning. Rather surprisingly, relatively little attention has been paid to the development of formal methods for reasoning about the eeectiveness of this program transformation|usually, only experimental tests on particular languages and compilers are undertaken. In this work, we present a formal approach for m...
متن کاملOn the mechanisation of the logic of partial functions
It is well known that partial functions arise frequently in formal reasoning about programs. A partial function may not yield a value for every member of its domain. Terms that apply partial functions thus may not denote, and coping with such terms is problematic in two-valued classical logic. A question is raised: how can reasoning about logical formulae that can contain references to terms th...
متن کاملThe connection between two ways of reasoning about partial functions
This paper addresses the relationship between the theorems derived in two logics that provide alternative ways of reasoning about partial functions. Theorems in the Logic of Partial Functions using weak equality can be directly translated into First Order Predicate Calculus using existential equality. Translation in the other direction is, in general, more complicated but simplifies pleasingly ...
متن کاملReasoning about Graph Programs
GP 2 is a non-deterministic programming language for computing by graph transformation. One of the design goals for GP 2 is syntactic and semantic simplicity, to facilitate formal reasoning about programs. In this paper, we demonstrate with four case studies how programmers can prove termination and partial correctness of their solutions. We argue that GP 2’s graph transformation rules, togethe...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 145 شماره
صفحات -
تاریخ انتشار 2006